package org.yzh.protocol.commons.transform.attribute;

import io.github.yezhihao.protostar.annotation.Field;
import org.yzh.protocol.hlj.AppendFileId;

/**
 * 0x39 车辆运行监测（黑）
 */
public class HljVom0x39 {

    public static final int key = 57;

    @Field(length = 1, desc = "报警类型：0x00：不可用；0x01：前向碰撞报警；0x02：车道偏离报警；0x03：超速报警； 0x04：路线偏离报警；0x05：禁行路段/区域报警；0x06：事故报警")
    private int alarmType;

    @Field(length = 1, desc = "预警类型: 0x00：不可用； 0x01：前向碰撞预警； 0x02：车道偏离预警")
    private int preWarnType;

    @Field(length = 1, desc = "是否有效提醒驾驶员：0：否；1：是")
    private int remindSuccess;

    @Field(length = 38, desc = "附件标识号")
    private AppendFileId alarmId;
    /*
    车道偏离预、报警扩展信息，定义见表 7；
    超速报警扩展信息，定义见表 8；
    路线偏离报警扩展信息，定义见表 9；
    禁行路段/区域报警扩展信息，定义见表 10
    */
    @Field(desc = "预、报警扩展信息")
    private byte[] extra;

    public byte[] getExtra() {
        return extra;
    }

    public void setExtra(byte[] extra) {
        this.extra = extra;
    }

    public int getAlarmType() {
        return alarmType;
    }

    public void setAlarmType(int alarmType) {
        this.alarmType = alarmType;
    }

    public int getPreWarnType() {
        return preWarnType;
    }

    public void setPreWarnType(int preWarnType) {
        this.preWarnType = preWarnType;
    }

    public int getRemindSuccess() {
        return remindSuccess;
    }

    public void setRemindSuccess(int remindSuccess) {
        this.remindSuccess = remindSuccess;
    }

    public AppendFileId getAlarmId() {
        return alarmId;
    }

    public void setAlarmId(AppendFileId alarmId) {
        this.alarmId = alarmId;
    }
}